Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add spack-python script to output diff in tree format #138

Draft
wants to merge 12 commits into
base: develop
Choose a base branch
from

Conversation

scheibelp
Copy link
Collaborator

@scheibelp scheibelp commented Feb 9, 2024

Description

To use it, you run

spack-python altdiff.py spec1 spec2

e.g. for specs like:

$ spack spec --yaml dray+mpi > dray-mpi.yaml
$ spack spec --yaml dray~mpi > dray-nompi.yaml
Screenshot 2024-02-08 at 5 49 38 PM

Differences are highlighted red. There's quite a bit of extra output (and e.g. the exact same openmpi implementation appears in both DAGs because even in the dray~mpi case it ends up being used for a dependency), but the red highlighting is anticipated to be useful.

(Update Dec. 17 2024) you can pass --truncate in order to omit most details that match, like:

spack-python lib/scripts/altdiff.py --truncate ./dray-mpi.yaml ./dray-nompi.yaml 

This command could also:

  • separately list out the diffs to ensure they aren't missed
  • optionally omit most details that are the same
    • Update Dec 17 2024: --truncate option added

Dependencies: FIXME:Add a list of any dependencies.

Fixes issue(s): FIXME:Add list of relevant issues.

Type of Change

  • { } Adding a system, benchmark, or experiment
  • { } Modifying an existing system, benchmark, or experiment
  • { } Documentation update
  • { } Build/CI update
  • { } Benchpark core functionality

Checklist:

If adding/modifying a system:

  • { } Create a new directory for the system and a new system.py file
  • { } Add a new dry run unit test in .github/workflows
  • { } System appears in System Specifications table in docs catalogue section

If adding/modifying a benchpark:

  • { } Add a new application.py and (maybe) package.py under a new directory
    for this benchmark
  • { } Configure an experiment
  • { } Benchmark appears in Benchmarks and Experiments table in docs catalogue
    section

If adding/modifying a experiment:

  • { } Extend experiment.py under existing directory for specific benchmark
  • { } Define a single node and multi-node experiments

If adding/modifying core functionality:

  • { } Update docs
  • { } Update .github/workflows and .gitlab/ci unit tests (if needed)

@scheibelp scheibelp marked this pull request as draft February 9, 2024 01:59
@slabasan slabasan added the WIP A work-in-progress not yet ready to commit label Jan 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WIP A work-in-progress not yet ready to commit
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants